package com.sg.service.biz.bff;

import com.sg.dto.biz.bff.req.*;
import com.sg.dto.biz.bff.res.*;

/**
 * @author ：
 * @version 1.0
 * @date ：
 */
public interface UserService {
    /**
     * 登录
     */
    BffLoginRespDto login(BffLoginReqDto reqDto);

    /**
     * B1-切换公共信息
     */
    BffChangePublicInfoRespDto changePublicInfo(BffChangePublicInfoReqDto reqDto);

    /**
     * B1-2换绑手机号
     */
    BffUpdateChangePhoneRespDto updateChangePhone(BffUpdateChangePhoneReqDto reqDto);

    /**
     * B1-2退出登录
     */
    BffLogoutRespDto logout(BffLogoutReqDto reqDto);

    /**
     * B1-2修改个人资料
     */
    BffUpdateUserInfoRespDto updateUserInfo(BffUpdateUserInfoReqDto reqDto);

    /**
     * B1-2查询账号安全信息列表
     */
    BffQueryAccountSecurityListRespDto queryAccountSecurityList(BffQueryAccountSecurityListReqDto reqDto);

    /**
     * B1-2首次登录完善个人资料
     */
    BffUpdateRenewUserInfoRespDto updateRenewUserInfo(BffUpdateRenewUserInfoReqDto reqDto);

    /**
     * B1-2查询个人信息详情
     */
    BffQueryPersonalInformationDetailRespDto queryPersonalInformationDetail(BffQueryPersonalInformationDetailReqDto reqDto);

    /**
     * B1-查询用户登录信息（非Redis）
     */
    BffQueryUserInfoByLoginDetailRespDto queryUserInfoByLoginDetail(BffQueryUserInfoByLoginDetailReqDto reqDto);

    /**
     * 登录V2
     */
    BffLogUserinRespDto LogUserin(BffLogUserinReqDto reqDto);

    /**
     * B1-2查询个人密保问题详情
     */
    BffQueryUserPwdProblemDetailRespDto queryUserPwdProblemDetail(BffQueryUserPwdProblemDetailReqDto reqDto);

    /**
     * B1-2查询密保问题详情
     */
    BffQueryPwdProblemDetailRespDto queryPwdProblemDetail(BffQueryPwdProblemDetailReqDto reqDto);

    /**
     * B1查询个人资料详情(公共)
     */
    BffQueryUserInfoDetailComRespDto queryUserInfoDetailCom(BffQueryUserInfoDetailComReqDto reqDto);

    /**
     * 登录V3
     */
    BffImplementLoginRespDto implementLogin(BffImplementLoginReqDto reqDto);

    /**
     * B1查询获取统一认证登录信息详情
     */
    BffQueryObtainUnifiedAuthenticationLoginInformationDetailRespDto queryObtainUnifiedAuthenticationLoginInformationDetail(BffQueryObtainUnifiedAuthenticationLoginInformationDetailReqDto reqDto);

    /**
     * B1-执行第三方退出登录
     */
    BffImplementThirdPartyLoginOutRespDto implementThirdPartyLoginOut(BffImplementThirdPartyLoginOutReqDto reqDto);
    //
}
